/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package tpa.TablaPeriodica;

import java.util.Collection;
import java.util.List;
import javax.ejb.Remote;

/**
 *
 * @author leandro
 */
@Remote
public interface TablaPeriodicaSessionRemote {

    public Clasificacion ActualizarClasificacion(Clasificacion clasificacion);

    public SubClase ActualizarSubClase(SubClase subClase);

    public Clasificacion AgregarClasificacion(Clasificacion clasificacion);

    public Elemento AgregarElemento(tpa.TablaPeriodica.Elemento value);

    public Elemento AgregarElemento(Long numeroAtomico, String nombre, String simbolo, Float pesoAtomico, String imageUrl, String infoUrl, Collection<Long>propiedadesId);

    public SubClase AgregarSubClase(Long subclaseId, String valor, Long clasificacionId, Long[] elementosElegidos) throws Exception;

    public Clasificacion ObtenerClasificacion(String nombreClasificacion);

    public List ObtenerClasificaciones(String nombre, String id);

    public tpa.TablaPeriodica.Elemento ObtenerElemento(Long numeroAtomico);

    public void EliminarElemento(java.lang.Long numeroAtomico);

    public java.util.List ObtenerElementos();

    public void EliminarClasificacion(java.lang.Long id);

    public java.util.List ObtenerClasificaciones();

    public tpa.TablaPeriodica.Clasificacion ObtenerClasificacion(java.lang.Long id);

    public SubClase ObtenerSubClase(Long subClaseId);

    public List ObtenerSubClases(String nombreClasificacion);

    public SubClase AgregarSubClase(tpa.TablaPeriodica.SubClase subclase);

    public Elemento ActualizarElemento(Elemento elemento);

    public void EliminarSubClase(Long subClaseId);
    
}
